package com.cdshangpai.utils.converts;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;

import java.util.List;


public class JsonConvert {
    /**
     * bean转json对象
     * @param sou
     * @return
     * @throws Exception
     */
    public static JSONObject bean2Json(Object sou) throws Exception
    {
        JSONObject temp=(JSONObject)JSON.toJSON(sou);
        return  temp;
    }

    /**
     * json对象转bean
     * @param sou
     * @param clz
     * @param <T>
     * @return
     */
    public static  <T> T json2Bean(JSONObject sou,Class clz)
    {
        String jsonString=sou.toJSONString();
        Object temp=JSONObject.parseObject(jsonString,clz);
        return (T)temp;
    }

    /**
     * json字符串转bean
     * @param sou
     * @param clz
     * @param <T>
     * @return
     */
    public static  <T> T json2Bean(String sou,Class clz)
    {
        String jsonString=sou;
        Object temp=JSONObject.parseObject(jsonString,clz);
        return (T)temp;
    }

    /**
     * json数组转list
     * @param sou
     * @param clz
     * @return
     */
    public static List json2List(String sou,Class clz)
    {
        return JSONObject.parseArray(sou,clz);
    }
}